package analysis.visitors;

import analysis.syntaxtree.*;

public interface Visitor {
	public void visit(Program n);
	public void visit(MainClass n);
	public void visit(ClassDeclSimple n);
	public void visit(ClassDeclExtends n);
	public void visit(VarDecl n);
	public void visit(MethodDecl n);
	public void visit(Formal n);
	public void visit(IntArrayType n);
	public void visit(BooleanType n);
	public void visit(IntegerType n);
	public void visit(VoidType n);
	public void visit(IdentifierType n);
	public void visit(Block n);
	public void visit(If n);
	public void visit(While n);
	public void visit(For n);
	public void visit(Print n);
	public void visit(PrintString n);
	public void visit(Assign n);
	public void visit(ArrayAssign n);
	public void visit(And n);
	public void visit(Or n);
	public void visit(Equal n);
	public void visit(NotEqual n);
	public void visit(Greater n);
	public void visit(GreaterOrEqual n);
	public void visit(LessOrEqual n);
	public void visit(LessThan n);
	public void visit(Plus n);
	public void visit(Minus n);
	public void visit(Times n);
	public void visit(Div n);
	public void visit(ArrayLookup n);
	public void visit(ArrayLength n);
	public void visit(PrefixAdd n);
	public void visit(PrefixSub n);
	public void visit(PostfixAdd n);
	public void visit(PostfixSub n);
	public void visit(Call n);
	public void visit(IntegerLiteral n);
	public void visit(True n);
	public void visit(False n);
	public void visit(This n);
	public void visit(NewArray n);
	public void visit(NewObject n);
	public void visit(Not n);
	public void visit(Identifier n);
}
